package cn.com.yusys.yusp.admin.repository.mapper;

import cn.com.yusys.yusp.admin.domain.AdminSmDpt;
import cn.com.yusys.yusp.admin.domain.AdminSmUser;
import cn.com.yusys.yusp.commons.mapper.CommonMapper;
import cn.com.yusys.yusp.commons.mapper.QueryModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 
 * @项目名称: yusp-admin
 * @类名称: AdminSmDptMapper
 * @类描述: 
 * @功能描述: 部门管理
 * @创建人: chenlin2@yusys.com.cn
 * @创建时间: 2017年12月27日
 * @修改备注: 
 * @修改记录: 修改时间    修改人员    修改原因
 * -------------------------------------------------------------
 * @version 1.0.0
 * @Copyright (c) 2017宇信科技-版权所有
 */
public interface AdminSmDptMapper extends CommonMapper<AdminSmDpt> {

	/**
	 * 
	* @方法名称: updateSts
	* @方法描述: 跟新部门状态
	* @参数与返回说明: 
	* @算法描述:
	 */
	int updateSts(Map<?, ?> param);
	/**
	 * 
	* @方法名称: getDptByModel
	* @方法描述: 查询部门
	* @参数与返回说明: 
	* @算法描述:
	 */
	List<AdminSmDpt> getDptByModel(QueryModel model);
	/**
	 * 
	* @方法名称: getUserListByModel
	* @方法描述: 查询部门用户
	* @参数与返回说明: 
	* @算法描述:
	 */
	List<AdminSmUser> getUserListByModel(QueryModel model);
	
	/**
	 * 
	* @方法名称: checkCode
	* @方法描述: 检查部门编号是否重复
	* @参数与返回说明: 
	* @算法描述:
	 */
	int checkDptCode(@Param("dptCde") String dptCde);
	/**
	 * 
	* @方法名称: checkHasUser
	* @方法描述: 检查部门下是否存在用户
	* @参数与返回说明: 
	* @算法描述:
	 */
	int checkHasUser(String dptId);

    /**
     *
     * @方法名称: checkHasNode
     * @方法描述: 检查部门是否存在下级部门
     * @参数与返回说明:
     * @算法描述:
     */
	int checkHasNode(String depId);
}
